package com.xian.ai.code.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.xian.ai.code.model.enums.ChatHistoryMessageTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 对话历史实体类
 *
 * @author ChatHistory
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("chat_history")
public class ChatHistory implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;


    /**
     * 应用ID
     */
    @TableField("appId")
    private Long appId;

    /**
     * 用户ID
     */
    @TableField("userId")
    private Long userId;

    /**
     * 消息内容
     */
    @TableField("message")
    private String message;

    /**
     * 消息类型（用户消息/AI消息/错误信息）
     */
    @TableField("messageType")
    private String messageType;

    /**
     * 父消息id（用于上下文关联）
     */
    @TableField("parentId")
    private Long parentId;

    /**
     * 创建时间
     */
    @TableField("createTime")
    private LocalDateTime createTime;
    /**
     * 是否删除
     */
    @TableLogic
    @TableField(value = "isDelete")
    private Integer isDelete;

    /**
     * 更新时间
     */
    @TableField("updateTime")
    private LocalDateTime updateTime;
}